<?php


namespace Trawind\Rocketmq\Manage;


use AlibabaCloud\SDK\Ons\V20190214\Models\OnsMqttGroupIdListRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupConsumerUpdateRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupCreateRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupDeleteRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupListRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupSubDetailRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsMqttGroupIdCreateRequest;

/**
 * @wiki https://next.api.aliyun.com/api/Ons/2019-02-14/OnsGroupCreate?params={}
 * Class GroupManage
 * @package Trawind\Rocketmq\Manage
 */
class GroupManage extends Manage
{
    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupCreateResponse
     */
    public function create(array $data)
    {
        return $this->getOnsClient()->onsGroupCreate(new OnsGroupCreateRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupListResponse
     */
    public function list(array $data)
    {
        return $this->getOnsClient()->onsGroupList(new OnsGroupListRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupDeleteResponse
     */
    public function delete(array $data)
    {
        return $this->getOnsClient()->onsGroupDelete(new OnsGroupDeleteRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupSubDetailResponse
     */
    public function subDetail(array $data)
    {
        return $this->getOnsClient()->onsGroupSubDetail(new OnsGroupSubDetailRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsGroupConsumerUpdateResponse
     */
    public function consumerUpdate(array $data)
    {
        return $this->getOnsClient()->onsGroupConsumerUpdate(new OnsGroupConsumerUpdateRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsMqttGroupIdCreateResponse
     */
    public function mqttGroupIdCreate(array $data)
    {
        return $this->getOnsClient()->onsMqttGroupIdCreate(new OnsMqttGroupIdCreateRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsMqttGroupIdListResponse
     */
    public function mqttGroupIdList(array $data)
    {
        return $this->getOnsClient()->onsMqttGroupIdList(new OnsMqttGroupIdListRequest($data));
    }
}